home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / virus / hs358.arj / HS.TXT < prev    next >
Text File  |  1994-03-03  |  22KB  |  607 lines

  1.  
  2.                 HS v3.5, Boot Virus detection and repair
  3.  
  4.  
  5.                                 Contents
  6.  
  7.  
  8.                 1.      What is HS?
  9.  
  10.                 2.      Benefits of this program
  11.  
  12.                 3.      Compatibility
  13.  
  14.                 4.      Installation
  15.  
  16.                 5.      Features
  17.  
  18.                 6.      How good is HS?
  19.  
  20.                 7.      Error messages, and other messages from HS
  21.  
  22.                 8.      Disclaimer, Licensing, Prices, Address
  23.  
  24.  
  25.  
  26.  
  27.   1.  What is HS?
  28.  
  29.         HS v3.5 is a small program written to protect against boot
  30.         viruses. It checks for changes in the boot sectors of your
  31.         harddisk. It will find almost any boot virus, notify you of
  32.         the virus, and cold boot your machine after removing the virus.
  33.         A copy of the infected boot sector is stored for later examination.
  34.  
  35.         I wrote the program because I couldn't find the virus protection
  36.         setup I wanted. My program executes in less than a second, and
  37.         generates no output to the screen, as long as no virus is detected.
  38.  
  39.         You will no longer waste your time on boot virus infections!
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.   2.  Benefits of this program
  51.  
  52.         A)  Very fast
  53.  
  54.         B)  Easy to install
  55.  
  56.         C)  Catches almost any boot virus
  57.  
  58.         D)  Small (less than 5 KB)
  59.  
  60.         E)  Automatic removal of detected viruses
  61.  
  62.         F)  Works with stealth viruses (even hardware stealth)
  63.  
  64.         G)  Does not need regular upgrades
  65.  
  66.         H)  Inexpensive
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.   3.  Compatibility
  74.  
  75.         HS supports:
  76.                         PCs and PS/2s
  77.  
  78.                         DOS 3.2 --> 7.0
  79.  
  80.                         DR-DOS 6.0 & Novell DOS 7.0
  81.  
  82.                         OS/2 2.0's Boot Manager
  83.  
  84.                         Windows NT's FlexBoot
  85.  
  86.  
  87.         HS will not RUN under OS/2 or Windows NT, but OS/2 and NT have
  88.         "multboot" capabilities and it is possible to use HS when booting
  89.         DOS on these "multboot" systems.
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.   4.  Installation
  97.  
  98.         1)  Make sure your machine is virus free
  99.  
  100.         2)  Copy HS.COM and HS.SYS to your harddisk
  101.  
  102.         3)  Run HS.COM /M [drive:][path][Savefile]
  103.  
  104.                 Where Savefile is an optional filename for the file
  105.                 containing a copy of the original Master Boot Record
  106.                 and the DOS Boot Record of the active drive.
  107.                 The default name for the Savefile is C:\BOOT.HS
  108.  
  109.     Quite a few boot infectors will cause the machine to hang if you
  110.     use an alternative primary shell (like 4DOS.COM or NDOS.COM instead
  111.     of COMMAND.COM). It is therefore advisable to invoke HS from your
  112.     CONFIG.SYS rather than from AUTOEXEC.BAT, as the lines contained in
  113.     CONFIG.SYS are handled before control is given to the primary shell.
  114.     This gives HS a chance to get rid of the virus and restore the
  115.     machine to a working state before you experience such a crash.
  116.  
  117.         4)  Insert a line like:
  118.  
  119.     DEVICE=[drive:][path]HS.SYS [drive:][path][Filename]
  120.  
  121.             near the top of your CONFIG.SYS
  122.  
  123.         If this generates a conflict another possibility is,
  124.  
  125.     Install=[drive:][path]HS.COM [drive:][path][Filename]
  126.  
  127.             near the bottom of your CONFIG.SYS
  128.  
  129.         A third possibility would be to place a line like,
  130.  
  131.     [drive:][path]HS.COM [drive:][path][Filename]
  132.  
  133.             near the top of your AUTOEXEC.BAT
  134.  
  135.         If you are running DR-DOS 6.0, you should use,
  136.  
  137.     DEVICE=[drive:][path]HS.SYS [drive:][path][Filename]
  138.  
  139.     DR-DOS does not support the INSTALL= statement. Using INSTALL
  140.     with DR-DOS may cause the machine to hang.
  141.  
  142.         5)  Run the [drive:][path]HS.COM [drive:][path][Savefile] from
  143.             the command line to check that everything works.
  144.  
  145.         6)  Reboot your machine to check that it boots without problems.
  146.  
  147.         7)  If everything works smoothly without any error messages,
  148.             HS is properly installed.
  149.  
  150.         8)  If you want extra security it is a great idea to make
  151.             a special recovery diskette. Such a diskette may be used
  152.             when a boot virus causes the machine to crash before the
  153.             CONFIG.SYS or the AUTOEXEC.BAT is processed. For example
  154.             a boot virus infection of Form or No_INT will cause the
  155.             machine to crash or halt if you use the Boot Manager that
  156.             comes with OS/2 2.1. In such situations a bootable,
  157.             virus free, write-protected DOS diskette containing HS.COM
  158.             and its Savefile, is all you need to get the machine back to
  159.             its working state within seconds.
  160.  
  161.         9)  If there is a problem you can try to solve it by checking out
  162.             the explanation of the error messages, described later in this
  163.             document, or you can contact me by E-Mail. See end of document.
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.   5.  Features
  189.  
  190.         *)      /M [drive:][path][Savefile]
  191.  
  192.             The /M option has to be used the first time you run HS,
  193.             and again each time you have repartitioned your harddisk,
  194.             or installed a new version of any operating system you are
  195.             running on your computer, for example when you upgrade to
  196.             a newer version of DOS. When you upgrade the BIOS, change
  197.             harddisk controller, or harddisk, it is a good idea to
  198.             disable and reinstall HS.
  199.  
  200.         *)  When a change in one of your boot sectors is found, HS will
  201.             assume it is a boot virus. It will notify the user, and ask
  202.             for a key press as a confirmation that the user wants to
  203.             remove the virus. It will cold boot the machine after having
  204.             removed the virus and dumped the infected boot sector to the
  205.             file C:\INF.HS.
  206.  
  207.         *)  At any time you can
  208.  
  209.                         TYPE C:\INF.HS
  210.  
  211.                 to get information about past infections.
  212.  
  213.             If no infections have occurred since HS was installed on the
  214.             machine, no C:\INF.HS file will exist. If your machine has
  215.             been infected the file contains a header with time & date of
  216.             detection, and type of infector (MBR or DBR). Below the
  217.             header are all the infected boot sectors stored (Max. 13).
  218.  
  219.         *)  If you reach 13 infections you will be asked to insert a
  220.             write-enabled and pre-formatted diskette in drive a:. The
  221.             file C:\INF.HS will be copied to the diskette, and then
  222.             removed from your harddisk. A request for you to send the
  223.             diskette to me will appear on the screen. Then your machine
  224.             will cold boot after you have pressed a key. By sending me
  225.             the diskette with the INF.HS file, you may help me to
  226.             improve my program. However, most people will never reach
  227.             13 boot virus infections.
  228.  
  229.         *)  HS has only four components:
  230.  
  231.               HS.SYS          ; The main program, invoked from CONFIG.SYS
  232.               Savefile        ; Datafile with a copy of the MBR & DBR
  233.               INF.HS          ; Infection log
  234.               HS.COM          ; Command line version of HS. Used to install.
  235.  
  236.         *)  A virus can trap interrupts and trick programs requesting
  237.             information about the contents of the sectors where the virus
  238.             resides. HS uses no interrupts. Only direct calls to the
  239.             ROM BIOS disk routines are used when reading the boot sectors
  240.             of your harddisk. Direct calls to "Read Only Memory" can't
  241.             possibly be trapped by a virus, so HS should never be tricked
  242.             by a stealth virus.
  243.  
  244.         *)  The Savefile is always checked for validity. If it is
  245.             destroyed or tampered with, the user will be notified,
  246.             and HS will not use it.
  247.  
  248.         *)  If you failed to disable HS in your CONFIG.SYS or AUTOEXEC.BAT
  249.             before you ran FDISK and made changes to the partition table,
  250.             HS will ask you if you just repartioned your disk, and if you
  251.             reply positively it will give you a chance to boot from a
  252.             certified virus free system diskette and update the Savefile
  253.             of HS by doing a HS /M [drive:][path][Savefile].
  254.  
  255.         *)  A boot virus could remove itself from the harddisk during
  256.             the boot process and, by hooking one or more interrupts,
  257.             write itself back after both CONFIG.SYS and AUTOEXEC.BAT
  258.             have been handled by DOS. To avoid getting bypassed by such
  259.             viruses HS.SYS will perform interrupt vector checking that
  260.             should catch most viruses using this kind of stealth. HS.COM
  261.             does not perform such vector checking, and does not detect
  262.             such viruses. As of November 1993 only one virus is known to
  263.             use this stealth technique. It is recommended to use HS.SYS
  264.             instead of HS.COM, and to load it as the first device in the
  265.             CONFIG.SYS (place it near the top). The earlier HS.SYS is
  266.             loaded from the CONFIG.SYS, the better are the chances for
  267.             the vector checking to detect new boot viruses.
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.   6.  How good is HS?
  281.  
  282.         HS v3.5 has successfully detected and removed all boot viruses
  283.         I have tested it against. Since I don't have all known boot
  284.         viruses (far from it!), I can't claim a 100% detection. To do
  285.         so it would be necessary to run HS against all known viruses,
  286.         on all possible machines, running all possible configurations.
  287.         Since new viruses are created every day, it is NOT possible to
  288.         prove a 100% detection of all viruses or, in this case, a 100%
  289.         detection of all boot viruses. But I don't know of any boot
  290.         virus that will not be successfully detected and removed by HS,
  291.         and it should be quite difficult to write a virus that bypasses it.
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.                                        
  301.  
  302.  
  303.   7.  Error messages, and other messages from HS v3.5
  304.  
  305. ---
  306.  
  307. Unknown partition table format, aborting!
  308.  
  309. ---
  310. None of the four entries in the partition table is set active, making
  311. it a non-standard format which HS will not try to handle.
  312. ---
  313.  
  314. BIOS mismatch, HS v3.58 was installed with a different BIOS, reinstall HS!
  315.  
  316. ---
  317. If the ROM BIOS handler for INT 13h has changed since the "Savefile"
  318. creation by the /M option, HS will display this message. Either you
  319. are trying to use a savefile that was created on another machine, or
  320. you have changed or upgraded the BIOS, harddisk controller or harddisk.
  321. The QEMM ST ("STEALTH") option may also cause this error message.
  322. ---
  323.  
  324. Savefile tampered with, system unprotected!
  325.  
  326. ---
  327. If the Savefile has been damaged or changed, in any way, you will get the
  328. message shown above. The message may also appear if you specify a file
  329. not created by HS.
  330. ---
  331.  
  332. Error in volume label change detection routine, please contact the author.
  333.  
  334. ---
  335. This error message indicate that you are experiencing a situation I never
  336. thought would happen in real life. I would then have to make some changes
  337. to the code handling the automatic volume-label updating of the savefile
  338. used by HS.
  339. ---
  340.  
  341. Attempt to find entry point with method 3 failed! Contact the author.
  342.  
  343. ---
  344. An error message that may occur on future hardware configurations. If
  345. you get this error message I will have to make some changes to the code
  346. handling a very rare situation. It concerns VESA Local-Bus harddisk
  347. controllers with several different ROM BIOS disk routines. They are
  348. chosen during boot, or by setting DIP-switches on the controller-card.
  349. ---
  350.  
  351. HS.COM v3.58
  352.  
  353. Checks integrity of MBR & DBR using previously saved information.
  354.  
  355. Syntax: HS [/M] [Savefile]
  356.  
  357.   Savefile    File containing copy of original MBR & DBR
  358.   /M          Makes copy of MBR & DBR
  359.  
  360. ---
  361. This message appears on the screen if you type HS/? or similar.
  362. ---
  363.  
  364. Error tracing BIOS entry point, probably VIRUS in memory, HS will not run!
  365.  
  366. ---
  367. This message should only appear if you are infected by a virus, or if
  368. you have some very special hardware or software installed. Control
  369. Access Packages (e.g., DiskSecure and SafeMBR) may cause this problems.
  370. Try booting from a virus free system diskette, then use a scanner and
  371. check for viruses. If no viruses are found you could try to run
  372. HS /M [drive:][path][Savefile] again.
  373.  
  374. Some rare configurations may also cause this to happen. for example
  375. the ST option ("STEALTH") of Quarterdecks QEMM386.SYS memory manager,
  376. Version 6 and above. If you want to use QEMM's STEALTH on a computer
  377. running HS, you should use the EXCLUDE STEALTH option as well (XST).
  378. To determine which segment to exclude from being "Stealthed" you should
  379. disable STEALTH, reboot, and run QEMM-XST.COM. It will display the
  380. correct exclude option and segment.
  381. ---
  382.  
  383. Incompatible DOS, HS will not run!
  384.  
  385. ---
  386. Running HS under any OS returning anything else than v3.2-7.0 will
  387. cause this message to be displayed. As an example, OS/2 will return
  388. a version-number of 10 or greater in its DOS BOX, so HS will not run.
  389. ---
  390.  
  391. "Savefile" not found!
  392.  
  393. ---
  394. "Savefile" will be replaced by the name specified by you in the
  395. CONFIG.SYS, AUTOEXEC.BAT, or on the command line. If you did not
  396. specifiy a file name, HS.COM, when executed, will default to C:\BOOT.HS.
  397. If the specified or default savefile cannot be found, the above error
  398. message will be displayed. Either the filename or path is wrong, or the
  399. file has been deleted or was never created.
  400. ---
  401.  
  402. Unable to read/write Savefile or C:\INF.HS, system unprotected!
  403.  
  404. ---
  405. Either HS is unable to create a valid Savefile or INF.HS file, or it is
  406. unable to read one of these files. Lack of disk space may lead to such
  407. an error. Check that the files are on your harddisk and that they are
  408. available to HS. If you by a mistake type C;\ instead of C:\ you will
  409. also get this error message. The same will probably be the case with
  410. other illegal characters in the filename.
  411. ---
  412.  
  413. Read/Write error on harddisk, system unprotected!
  414.  
  415. ---
  416. A call to the BIOS disk routines (INT 13h) failed. THIS SHOULD NEVER
  417. HAPPEN. It may indicate a harddisk error. Retry the command. If it
  418. still does not work you should get expert help.
  419. ---
  420.  
  421. HS v3.58
  422.  
  423. Only Partition table in MBR has changed!
  424. Did you just repartition your harddisk ? (Y/N)
  425.  
  426. ---
  427. If the partition table (Offset 1BEh-1FEh in the MBR) was the only area
  428. in the Master Boot Record to change, and INT 13h is not trapped, HS
  429. will assume that the user has performed changes in the partition table.
  430. HS assumes you failed to update the Savefile and will give you a chance
  431. to do so. If you have no knowledge of any such changes you should either
  432. reply NO or get help from a person with knowledge of system software and
  433. computer boot viruses.
  434. ---
  435.  
  436. Insert a certified virus free system diskette, cold boot from it,
  437. and rescan the harddisk for any viruses. If no viruses are found
  438. you can run HS /M [Savefile] and boot from the harddisk again.
  439.  
  440. Press any key to cold boot...
  441. ---
  442. This message appears if you reply Y for YES to the question;
  443. "Did you just repartition your harddisk?"
  444. ---
  445.  
  446.             ╒════════════════ HS.SYS v3.58 ═══════════════╕
  447.             │                                             │
  448.             │    ?BR Infector                             │
  449.             │    Press a key to clean up virus, or        │
  450.             │    turn off your PC and get expert help!    │
  451.             │                                             │
  452.             ╘═════════════════════════════════════════════╛
  453.  
  454. ---
  455. This is the message displayed if HS.SYS finds that a change has occurred
  456. in the Master Boot Record or the DOS Boot Record of your harddisk. This
  457. normally means that a boot virus has infected your machine and has been
  458. detected by HS. It will be removed when the user confirms this action by
  459. the single press of a key. HS.COM displays a very similar message.
  460.  
  461. You may also get this message if you have upgraded your version of DOS
  462. without updating the savefile for HS. Usually any new version of DOS
  463. will make enough changes in either the MBR or DBR to trigger HS. So you
  464. should disable HS in the CONFIG.SYS or AUTOEXEC.BAT during such updates
  465. of the operating system.
  466.  
  467. The question mark displayed in the message above is replaced by an M or a D.
  468. MBR = Master Boot Record (The first physical sector on a PC-style harddisk)
  469. DBR = DOS Boot Record    (Active partitions first sector)
  470. ---
  471.  
  472. New copy of MBR and DBR made
  473.  
  474. ---
  475. After HS has successfully created its Savefile you should receive this
  476. message.
  477. ---
  478.  
  479. Volume label has changed. "Savefile" updated.
  480.  
  481. ---
  482. If you change the volume label of your boot drive, newer versions of
  483. DOS may update the volume label field in the DBR. HS will detect when
  484. such an update has occurred. Instead of flagging the change as a virus,
  485. it automatically updates the Savefile to match the new DBR. It will
  486. display the above message to notify the user of the change. The volume
  487. label field inside the DBR is a datafield, so this feature of HS cannot
  488. be exploited in any usefull way by future boot infectors.
  489. ---
  490.  
  491. Please insert a pre-formatted, write enabled, diskette in Drive A:
  492.  
  493. And press any key...
  494. ---
  495. When you have had 13 boot sector infections on your machine since HS
  496. was installed, it will ask you to insert a diskette so it can copy the
  497. C:\INF.HS file to the diskette (to A:\INF.13). The C:\INF.HS file will
  498. be deleted. It has reached its maximum size, and HS will create a new
  499. C:\INF.HS upon the next boot sector infection. If you wish to preserve
  500. the infection log contained in the C:\INF.HS file, which was moved to
  501. the file A:\INF.13, you could do a TYPE A:\INF.13>Filename.Ext, or a
  502. TYPE A:\INF.13>PRN to get the report printed.
  503. ---
  504.  
  505. Help us in the fight against viruses.
  506.  
  507. Send the diskette to:
  508.  
  509.                 Henrik Stroem
  510.                 Stroem System Soft
  511.                 Husebyveien 58c, 7078 Saupstad
  512.                 Trondheim, Norway
  513.  
  514.     Or email the file, in UUEncoded format, to hstroem@ed.unit.no
  515.  
  516. Press any key...
  517. ---
  518. To aid me in improving my program it may be of help to study more
  519. viruses. It also helps to know which viruses are common, and where
  520. they have been detected. So by sending me the viruses you get infected
  521. by, you are helping me. Thanks!
  522. ---
  523.  
  524. HS.SYS has found an interrupt vector that points to the Top of Memory!
  525.  
  526.     This indicates that a virus probably is present in memory.
  527.     The system will now be cold booted to remove the virus.
  528.  
  529.  
  530. To ignore this warning, press SHIFT-C... (Any other key will cold boot)
  531. ---
  532. After HS.SYS has checked the MBR and DBR for any changes, and none were
  533. found, it will do a check to see if some of the more important interrupts
  534. points to the Top of Memory. The SHIFT-C Ignore option will only be given
  535. if there was no memory-size mismatch and the second user interrupt was
  536. unused. If you get this message every time you boot, you should probably
  537. cold boot from a virus-free, system diskette and use a scanner to check for
  538. viruses. Also try to run HS from the floppy. If you still get this message
  539. something is conflicting with HS, and you should contact me (by E-Mail),
  540. or get other expert help to find out what is happening. If there really is
  541. a virus in memory, a reboot should usually kill it.
  542. ---
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.   8.  Disclaimer, Licensing, Prices, Address
  557.  
  558.  
  559.        Disclaimer
  560.  
  561.          The author takes NO responsibility for unwanted effects from the
  562.          use of HS v3.5, or any of its components!
  563.  
  564.        Licensing
  565.  
  566.          This program is NOT freeware, but non-commercial users are free
  567.          to use it on their home machines.
  568.  
  569.          Any company interested in using HS v3.5 on their computers can
  570.          buy a site-license! This site-license is reasonably priced and
  571.          is valid for all computers owned by that particular company,
  572.          department, institute or similar. Upgrades can be obtained on
  573.          the InterNet by Anonymous FTP, by E-Mail, or other similar
  574.          services. If you want me to send you a diskette with the latest
  575.          version by mail, it will cost an additional $20. HS does not
  576.          use signatures, and therefore does NOT require regular upgrades.
  577.          New versions will contain new features, and bug fixes if any
  578.          bugs are discovered.
  579.  
  580.          A site-license will usually be valid for ONE year.
  581.  
  582.          If you have any questions you may contact me either by mail
  583.          or by E-Mail.
  584.  
  585.        Prices
  586.  
  587.          Non-commercial user                  = Free
  588.          Single commercial user               = $15
  589.          Company with up to 20 machines       = $50
  590.          Company with up to 200 machines      = $200
  591.          Company with more than 200 machines  = Contact the author
  592.  
  593.          Prices are in US dollars. Numbers above 10 are approximate.
  594.  
  595.          You receive an invoice confirming your order. The invoice is
  596.          valid as a site-license when it has been paid.
  597.  
  598.        Address
  599.  
  600.          Henrik Stroem
  601.          Stroem System Soft
  602.          Husebyveien 58c, 7078 Saupstad
  603.          Trondheim, Norway
  604.  
  605.          E-Mail: hstroem@ed.unit.no  or  hstroem@pvv.unit.no
  606.  
  607.